package com.mes.schedule.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringOper {
	

	/**
	 * 判断str1 与str2是否相同
	 * @param str1 比较条件
	 * @param str2 被比较对象
	 * @return
	 */
	public static boolean equals(String str1,String str2) {
		//如果被比较条件为空，表示忽略该条件，恒成立
		if(str1==null||str1.equals(""))return true;
		
		
		if (str2==null) {
			return false;
		}else {

			
			
			//忽略大小写
			str2=str2.toUpperCase();
			str1=str1.trim().toUpperCase();
			/*
			 * 对于*应该用正则表达式

			 */
			if(!str1.endsWith("*"))str1=str1+"*";
			str1=str1.replaceAll("\\*", "(.*)");
			Matcher matcher = Pattern.compile(str1).matcher(str2);
			return matcher.matches();

		}
		
	}
	
	/**
	 * 两个字符串精确相同
	 * @param str1
	 * @param str2
	 * @return
	 */
	public static boolean equalsPrecise(String str1,String str2) {
		//如果被比较条件为空，表示忽略该条件，恒成立
		if(str1==null||str1.equals(""))return true;
		
		
		if (str2==null) {
			return false;
		}else {
			//忽略大小写
			str2=str2.toUpperCase();
			str1=str1.trim().toUpperCase();
			if(str2.equals(str1)){
				return true;
			}
			else{
				return false;
			}
		}
	}
	
	
	
	
	public static void main(String args[])
	{
		System.out.println(StringOper.equals("", "abcdeabcde"));
		System.out.println(StringOper.equals("a*", "abcdeabcde"));
		System.out.println(StringOper.equals("abcdef*", "abcdeabcde"));
		System.out.println(StringOper.equals("abcdef*e", "abcdeabcde"));
		
		System.out.println(StringOper.equals("afbcdef*e*f", "abcdeabcde"));
	}
	
//	/**
//	 * 判断str1 与str2是否相同
//	 * @param str1 比较条件
//	 * @param str2 被比较对象
//	 * @return
//	 */
//	public static boolean equals(String str1,String str2) {
//		
//		if (str2==null) {
//			return false;
//		}else {
//			//忽略大小写
//			str2=str2.toUpperCase();
//			if(str1!=null)str1=str1.toUpperCase();
//			
//			/*
//			 * 对于*应该用正则表达式
//			 * by lqm 
//			 * todo
//			 */
//			if (str1!=null&&str1.indexOf('*')!=-1) {
//				str1 = str1.substring(0, str1.length()-1);
//			}
//			String regStr = "\\$\\([^\\$^\\).]*\\)";
//			Matcher matcher = Pattern.compile(regStr).matcher(strAfter);
//
//			
//			//(.*)
//			//
//			//将indexof改成了 starwith
//			if(str1==null||str1.equals("")||str1.equals(str2)||str2.startsWith(str1)){
//				return true;
//			}else {
//				return false;
//			}
//		}
//		
//	}
}
